package com.astar.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 统一用户信息 
 * </p>
 *
 * @author liury
 * @since 2019-09-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class UnifiedUserInfo extends BaseEntityMP {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    /**
     * 小程序openId 用户标识，对当前小程序唯一
     */
    @TableField("SMALL_APP_OPEN_ID")
    private String smallAppOpenId;

    /**
     * 公众号openId 用户标识，对当前公众号唯一
     */
    @TableField("WECHAT_OPEN_ID")
    private String wechatOpenId;

    /**
     * unionid 只有在用户将小程序/公众号绑定到微信开放平台帐号后，才会出现该字段
     */
    @TableField("UNIONID")
    private String unionid;

    /**
     * 手机号码
     */
    @TableField("MOBILE")
    private String mobile;

    /**
     * 昵称
     */
    @TableField("NICKNAME")
    private String nickname;

    /**
     * 真实姓名
     */
    @TableField("USERNAME")
    private String username;

    /**
     * 性别 性别 0：未知、1：男、2：女
     */
    @TableField("SEX")
    private String sex;

    /**
     * 年龄
     */
    @TableField("AGE")
    private Integer age;

    /**
     * 年级
     */
    private String grade;

    /**
     * 省
     */
    @TableField("PROVINCE")
    private String province;

    /**
     * 市
     */
    @TableField("CITY")
    private String city;

    /**
     * 国家
     */
    @TableField("COUNTRY")
    private String country;

    /**
     * 头像url 用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空。若用户更换头像，原有头像URL将失效
     */
    @TableField("HEAD_IMG_URL")
    private String headImgUrl;

    /**
     * 学校
     */
    @TableField("SHCOOL")
    private String shcool;

    /**
     * 语言 用户的语言，简体中文为zh_CN
     */
    @TableField("LANGUAGE")
    private String language;

    /**
     * 是否关注公众号 用户是否订阅该公众号标识，值为0时，代表此用户没有关注该公众号，拉取不到其余信息
     */
    @TableField("SUBSCRIBE")
    private String subscribe;

    /**
     * 关注时间
     */
    @TableField("SUBSCRIBE_TIME")
    private LocalDateTime subscribeTime;

    /**
     * 备注 公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 分组id 用户所在的分组ID
     */
    @TableField("GROUPID")
    private Integer groupid;

    /**
     * 标签ID列表
     */
    @TableField("TAGID_LIST")
    private String tagidList;

    /**
     * 关注的渠道来源 返回用户关注的渠道来源，ADD_SCENE_SEARCH 公众号搜索，ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移，ADD_SCENE_PROFILE_CARD 名片分享，ADD_SCENE_QR_CODE 扫描二维码，ADD_SCENEPROFILE LINK 图文页内名称点击，ADD_SCENE_PROFILE_ITEM 图文页右上角菜单，ADD_SCENE_PAID 支付后关注，ADD_SCENE_OTHERS 其他
     */
    @TableField("SUBSCRIBE_SCENE")
    private String subscribeScene;

    /**
     * 创建时间
     */
    @TableField("CREATED_TIME")
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    @TableField("UPDATED_TIME")
    private LocalDateTime updatedTime;


}
